/**
 * 
 */
package edu.hadassah.store.repository;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 * @author persikov
 *
 */
public class MapRepository<I,T> implements IRepository<I,T> {

	Map<I, T> repository = new HashMap<I, T>();

	public void add(I id, T element){
		repository.put(id, element);
	}
	/**
	 * @param id
	 * @return
	 * @see edu.hadassah.store.repository.IRepository#get(java.lang.Object)
	 */
	public T get(I id) {
		return repository.get(id);
	}

	/**
	 * @return
	 * @see edu.hadassah.store.repository.IRepository#isEmpty()
	 */
	public boolean isEmpty() {
		return repository.isEmpty();
	}

	/**
	 * @param id
	 * @return
	 * @see edu.hadassah.store.repository.IRepository#remove(java.lang.Object)
	 */
	public boolean remove(I id) {
		return repository.remove(id) != null;
	}

	/**
	 * @return
	 * @see java.lang.Iterable#iterator()
	 */
	public Iterator<T> iterator() {
		return repository.values().iterator();
	}



}
